package com.yanggu.payment.service;

import com.alipay.api.AlipayApiException;
import com.yanggu.payment.entity.OrderInfo;

import java.util.Map;

/**
 * @version V1.0
 * @author: YangGu
 * @date: 2022/5/10 16:08
 * @description:
 */
public interface AliPayService {

    String tradePagePay(Long productId) throws AlipayApiException;

    String tradeQuery(String orderNo) throws AlipayApiException;

    String tradeNotify(Map<String, String> paramsMap) throws AlipayApiException;

    Boolean handlerPaySuccess(OrderInfo dbOrderInfo,
                              String tradeNo,
                              String tradeStatus);

    void tradeClose(String orderNo) throws AlipayApiException;

    void refunds(String orderNo, String reason) throws AlipayApiException;

    String downloadBill(String billDate, String type) throws AlipayApiException;

    String refundQuery(String orderNo) throws AlipayApiException;

}
